package com.maiko.usercenter.model.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serializable;

/**
 * 用户信息更新请求 DTO
 * 用于管理员或用户本人更新用户信息
 *
 * @author Maiko7
 * @create 2025-07-15 09:07
 */
@Data
@Schema(description = "用户信息更新请求体")
public class UserUpdateRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户 ID（必填，用于定位更新哪个用户）
     *
     * 还必填你怎么可能知道你的id？雪花算法的一大串，你去哪知道？
     */
//    @Schema(description = "用户ID")
//    private Long id;

    /**
     * 用户昵称
     */
    @Schema(description = "用户名 / 昵称")
    @Size(max = 30, message = "用户名不能超过30个字符")
    private String username;


    /**
     * 用户头像 URL
     */
    @Schema(description = "头像 URL")
    private String avatar;

    /**
     * 用户角色（admin / user）
     */
    @Schema(description = "角色（user / admin）")
    private String role;

    /**
     * 用户状态：0 - 正常，1 - 封禁
     */
    @Schema(description = "状态（0 - 正常，1 - 封禁）")
    private Integer status;
}
